Click and Drag to Scroll
https://rmaruon.github.io/javascript30/27
MouseEvent.pageX
ページ全体でのマウスの位置座標を取得
ページの左上が
(0, 0)
Element.offsetLeft
以下の説明がわかりやすかった
offsetParentとなる要素のpaddingの左端部分から、その要素のborderの左端部分までの幅です。
https://syncer.jp/javascript-reference/element/offsetleft
Element.scrollLeft
スクロールしたピクセル数を取得できる
書き換えることで移動する
ref
マウスイベントで取得されるカーソル座標パラメータの整理(offset, page, screen, client) - Qiita
図がわかりやすい